package com.ninong.ker.admin.sevice;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.ninong.ker.admin.domain.Role;
import com.ninong.ker.admin.service.dto.RoleDTO;

/**
 * 角色service
 * @author cmd
 *
 */
public interface RoleService {
	
	/**
	 * 角色list
	 * @param dto
	 * @return
	 */
	PageInfo<Role> listPage(RoleDTO dto);

	/**
	 * 删除角色
	 * @param ids
	 * @return
	 */
	void delete(String[] ids);
	
	/**
	 * 新增或修改角色
	 * @param entity
	 * @return
	 */
	void create(Role entity);

	/**
	 * 角色详情
	 * @param id
	 * @return
	 */
	Role get(String id);
	
	/**
	 * 角色树形
	 * @return
	 */
	List<Role> listRoleTree();
	
	/**
	 * 根据用户id获取选中id集合
	 * @param userId
	 * @return
	 */
	List<String> listTreeByUserId(String userId);

	/**
	 * 更新用户和角色和关系
	 * @param userId
	 * @param roleIds
	 * @return
	 */
	void merge(String userId, List<String> roleIds);

}
